home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ Apr 89 / T0042-More than 255-Apr89 < prev    next >
Encoding:
Text File  |  1989-05-01  |  4.2 KB  |  148 lines  |  [TEXT/GEOL]

  1. Item forwarded  by  YEPEZ1       to STATTENFIELD
  2.  
  3. Item    4607928                         28-April-89        18:22
  4.  
  5. From:   D0420                           Satori SW, Hugh Rogovy, PRT
  6.  
  7. To:     MACAPP.TECH$                    MACAPP Tech
  8.  
  9. Sub:    More than 255
  10.  
  11. Item    7420307                         25-April-89        20:39
  12.  
  13. From:   MACAPP.TEST                     MacApp SQA Team
  14.  
  15. To:     D0420                           Satori SW, Hugh Rogovy, PRT
  16.  
  17. Sub:    More than 255
  18.  
  19. Chris,
  20.  
  21. MacApp 2.0B9 will not have the changes you desire in TStaticText.
  22. A long time ago, I created a dialog view that tabbed between EditText items and
  23. TEViews. Here are some of the relevant methods. As you can see the HandleTAB
  24. method is specific to my subviews. This code isn't very elegant, and I haven't
  25. built it since B5, but I had to send you something before you finished coding.
  26.  
  27. Richard Rodseth
  28.  
  29. {------------------------------------------------------------------------}
  30. {  Methods for TAgendaView(subclass of TDialogView) }
  31. {------------------------------------------------------------------------}
  32.  
  33. PROCEDURE TAgendaView.DoChoice (origView: TView; itsChoice: INTEGER); OVERRIDE;
  34. BEGIN
  35.    IF itsChoice = mEditTextHit
  36.    THEN fCurrentId := origView.fIdentifier;
  37.    INHERITED DoChoice(origView,itsChoice);
  38. END;
  39.  
  40. FUNCTION TAgendaView.HandleTab (callingView: TView; VAR info: EventInfo):
  41. TCommand;OVERRIDE;
  42. VAR
  43.    nextID : IDType;
  44.  
  45.    FUNCTION Successor(id : idType;back : BOOLEAN) : IDType;
  46.    BEGIN
  47.    Successor := 'ERRO';
  48.    IF back
  49.    THEN BEGIN
  50.    IF (id = 'NAME') OR (id = 'NONE')
  51.    THEN Successor := 'ADDI'
  52.    ELSE IF id = 'ADDI'
  53.    THEN Successor := 'PROP'
  54.    ELSE IF id = 'PROP'
  55.    THEN Successor := 'ITEM'
  56.    ELSE IF id = 'ITEM'
  57.    THEN Successor := 'EXTE'
  58.    ELSE IF id = 'EXTE'
  59.    THEN Successor := 'NAME';
  60.    END
  61.    ELSE BEGIN
  62.    IF id = 'NAME'
  63.    THEN Successor := 'EXTE'
  64.    ELSE IF id = 'EXTE'
  65.    THEN Successor := 'ITEM'
  66.    ELSE IF id = 'ITEM'
  67.    THEN Successor := 'PROP'
  68.    ELSE IF id = 'PROP'
  69.    THEN Successor := 'ADDI'
  70.    ELSE IF (id = 'ADDI') OR (id = 'NONE')
  71.    THEN Successor := 'NAME'
  72.    END;
  73.    END;
  74.  
  75. BEGIN
  76.    HandleTab := gNoChanges;
  77.    nextID := Successor(fCurrentID,info.theShiftkey);
  78.    SelectEditText(nextID, TRUE);
  79. END;
  80.  
  81. PROCEDURE TAgendaView.SelectEditText (itsIdentifier: IDType; selectChars:
  82. BOOLEAN);
  83.  
  84. VAR
  85.    oldView : TView;
  86.    aSubView:   TView;
  87.  
  88. BEGIN
  89.    oldView := FindSubView(fCurrentID);
  90.    aSubView := FindSubView(itsIdentifier);
  91.    IF (aSubView <> NIL)
  92.    THEN BEGIN
  93.    fCurrentID := itsIdentifier;
  94.    IF Member(aSubView, TEditText)
  95.    THEN DoSelectEditText(TEditText(aSubView), selectChars)
  96.    ELSE
  97.    IF Member(aSubView, TMyTEView)
  98.    THEN BEGIN
  99.    IF Member(oldView,TEditText)
  100.    THEN BEGIN
  101.     DoSelectEditText(NIL, FALSE);
  102.    END;
  103.        gApplication.SetTarget(TMyTEView(aSubView));
  104.        IF selectChars THEN TESetSelect(0,32767,TMyTEView(aSubView).fHTE);
  105.        { Scroll selection into view ?}
  106.    END;
  107.    END;
  108. END;
  109.  
  110. {------------------------------------------------------------------------}
  111. {  Methods for TMyTEView    }
  112. {------------------------------------------------------------------------}
  113.  
  114. {$IFC qProceduralViews}
  115. PROCEDURE TMyTEView.IMyTEView(itsSuperView : TView;
  116.      itsLocation, itsSize: VPoint;itsID : IDType);
  117. VAR itsInset : Rect;
  118.    itsStyle : TextStyle;
  119. BEGIN
  120.    SetRect(itsInset,4,4,4,0);
  121.    SetTextStyle(itsStyle, applFont, [], 9, gRGBBlack);
  122.    ITEView(NIL,itsSuperView,itsLocation,itsSize,
  123.    sizeFixed,sizeVariable,itsInset,itsStyle,teJustleft,kWithoutStyle,TRUE);
  124.    fIdentifier := itsID;
  125. END;
  126. {$ENDC}
  127.  
  128. FUNCTION  TMyTEView.DoKeyCommand(ch: Char; aKeyCode: INTEGER; VAR info:
  129. EventInfo): TCommand; OVERRIDE;
  130. CONST chQuote = CHR($22);
  131. BEGIN
  132.    IF (ch = chQuote)
  133.     THEN DoKeyCommand := gNoChanges
  134.    ELSE
  135.    IF (ch = chTab) & (fNextHandler <> NIL){ let the DialogView handle it }
  136.    THEN DoKeyCommand := fNextHandler.DoKeyCommand(ch,aKeyCode,info)
  137.    ELSE DoKeyCommand := INHERITED DoKeyCommand(ch,aKeyCode,info);
  138. END;
  139.  
  140. FUNCTION  TMyTEView.DoMouseCommand(VAR theMouse: Point; VAR info: EventInfo;
  141.    VAR hysteresis: Point): TCommand; OVERRIDE;
  142. BEGIN
  143.    TAgendaView(GetDialogView).SelectEditText(fIdentifier,FALSE);
  144.    DoMouseCommand := INHERITED DoMouseCommand(theMouse,info,hysteresis);
  145. END;
  146.  
  147.  
  148.